PATH![]() |
![]() ![]() |
atomic operation A n action that executes as one indivisible sequence. For example, obtaining and clearing an event group occurs as an atomic operation. It is not possible for another task to set an event bit after the event group is obtained but before it is cleared.
cooperative multitasking A multitasking model that requires a task to voluntarily suspend its execution in order to give processor time to other tasks.
blocked The state where a task is not executing because it is waiting for data or a resource to become available. Blocked tasks are not assigned processor time by the scheduler.
context The execution environment for an application. Each running application has its own context which is scheduled (cooperatively or preemptively) by system software. For example, in Mac OS 8, contexts are cooperatively-scheduled by the Process Manager. Also called a process or an execution context.
critical region A section of executable code that can only be accessed by one task at a time.
event group A set of flags which you can use to signal events for a task.
latency A significant time delay between when your code requests an action and when the action actually occurs. For example, there is typically a latency between when you request that a preemptive task be terminated and when it actually terminates.
Mac OS task The preemptive task that contains all the cooperatively scheduled programs handled by the Process Manager.
message A 96-bit block of data that passes information to a task. Messages are passed to message queues which then can be read by a task. See also message queue.
message queue A storage location for messages. Tasks can place or retrieve messages from a queue. See also message.
multiprocessing The ability of a computer and operating system to use more than one microprocessor at a time.
Multiprocessing Services Apple Computer's preemptive multitasking technology for Macintosh computers.
multitasking The ability to handle several tasks at a time.
notification mechanism An indicator that passes information to a task. Some notification mcchanisms include messages, semaphores, and event groups.
nonreentrant function A function that cannot be called simultaneously or sequentially by different preemptive tasks. Typically functions that manipulate global data are nonreentrant.
preemptive multitasking The ability of an operatiing system to divide processor time among many tasks, allowing them to execute in a simultaneous or near-simultaneous manner.
preemptive scheduling A multitasking model that allows a scheduler to determine the amount of processor time to assign to tasks. The scheduler uses well-defined rules to determine when to stop execution of one task and resume another.
remote procedure call A call by a preemptive task that must execute in a nonpreemptive environment. Typically you use remote procedure calls to call nonreentrant functions.
scheduler An authority that assigns processor time to individual tasks. Also called a task scheduler.
semaphore A counter that can be incremented or decremented to signal an event to a task.
task An individual unit of program execution. Each task has its own stack and register set.
symmetric multiprocessing A multiprocessing technique where tasks are divided equally among all available processsors. This method is more efficient than asymmetric multiprocessing where one master processor assigns work to a number of slave processors.
thread As defined for the Mac OS operating system, a task that is cooperatively-scheduled by the Thread Manager. Compare task.